package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 围栏信息对象 enclosure_info
 * 
 * @author ruoyi
 * @date 2025-09-11
 */
public class EnclosureInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 定位系统同步的ID */
    @Excel(name = "定位系统同步的ID")
    private Integer synId;

    /** 围栏名称 */
    @Excel(name = "围栏名称")
    private String name;

    /** 地图ID */
    @Excel(name = "地图ID")
    private String areaIds;

    /** 围栏区域形状(1-圆形,4-多边形) */
    @Excel(name = "围栏区域形状")
    private Integer shape;

    /** 围栏类型：22 内部车辆(car)23 危险作业(dangerous)24 内部人员(staff)26 聚集类型 **/
    private Integer enclosureType;

    /** 地图坐标[{"x": 292.6,"y": 397.5}] */
    @Excel(name = "地图坐标")
    private String coordinates;

    /** 围栏模型: car-车辆报警 dangerous-危险源报警 staff-人员报警 */
    @Excel(name = "围栏模型")
    private String entityTypes;

    /** 状态 */
    @Excel(name = "状态")
    private Integer state;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdDate;

    /** 删除标志（0未删除） */
    private String delFlag;

    /**
     * 上报市局唯一编码
     */
    private String governId;
    /**
     * 上报市局geo
     */
    private String geoId;
    /** 区域类型，0 临时区域，1 固定区域 **/
    private String zoneType;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public Integer getSynId() {
        return synId;
    }

    public void setSynId(Integer synId) {
        this.synId = synId;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setShape(Integer shape)
    {
        this.shape = shape;
    }

    public Integer getShape()
    {
        return shape;
    }
    public void setCoordinates(String coordinates) 
    {
        this.coordinates = coordinates;
    }

    public Integer getEnclosureType() {
        return enclosureType;
    }

    public void setEnclosureType(Integer enclosureType) {
        this.enclosureType = enclosureType;
    }

    public String getCoordinates()
    {
        return coordinates;
    }

    public String getEntityTypes() {
        return entityTypes;
    }

    public void setEntityTypes(String entityTypes) {
        this.entityTypes = entityTypes;
    }

    public void setState(Integer state)
    {
        this.state = state;
    }

    public Integer getState()
    {
        return state;
    }
    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }
    public void setCreatedDate(Date createdDate) 
    {
        this.createdDate = createdDate;
    }

    public Date getCreatedDate() 
    {
        return createdDate;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public String getGovernId() {
        return governId;
    }

    public void setGovernId(String governId) {
        this.governId = governId;
    }

    public String getGeoId() {
        return geoId;
    }

    public void setGeoId(String geoId) {
        this.geoId = geoId;
    }

    public String getZoneType() {
        return zoneType;
    }

    public void setZoneType(String zoneType) {
        this.zoneType = zoneType;
    }

    public String getAreaIds() {
        return areaIds;
    }

    public void setAreaIds(String areaIds) {
        this.areaIds = areaIds;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("synId", getSynId())
            .append("name", getName())
            .append("areaId", getAreaIds())
            .append("shape", getShape())
            .append("coordinates", getCoordinates())
            .append("entityTypes", getEntityTypes())
            .append("state", getState())
            .append("createdBy", getCreatedBy())
            .append("createdDate", getCreatedDate())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
